# -*- coding: utf-8 -*-
"""
读取user_balance_table前5行数据并显示全部列
"""

import pandas as pd
import sys
import os

def read_user_balance_sample():
    """
    读取user_balance_table.csv文件的前5行数据并显示全部列
    """
    try:
        # 设置控制台编码为UTF-8，解决中文乱码问题
        if sys.platform.startswith('win'):
            # Windows系统设置控制台编码
            os.system('chcp 65001 > nul')
            # 重新配置标准输出编码
            sys.stdout.reconfigure(encoding='utf-8')
            sys.stderr.reconfigure(encoding='utf-8')
        
        # 读取CSV文件
        df = pd.read_csv('user_balance_table.csv')
        
        # 获取前5行数据
        sample_data = df.head(5)
        
        print("user_balance_table前5行数据：")
        print("=" * 80)
        
        # 设置pandas显示选项，确保显示所有列
        pd.set_option('display.max_columns', None)
        pd.set_option('display.width', None)
        pd.set_option('display.max_colwidth', None)
        
        # 显示所有列的数据
        print(sample_data.to_string(index=False))
        
        print("\n" + "=" * 80)
        print(f"数据形状: {sample_data.shape}")
        print(f"列名: {list(sample_data.columns)}")
        
        return sample_data
        
    except FileNotFoundError:
        print("错误：找不到文件 'user_balance_table.csv'")
        return None
    except Exception as e:
        print(f"读取文件时发生错误: {e}")
        return None

if __name__ == "__main__":
    # 执行读取操作
    data = read_user_balance_sample()
